package com.alquiler.dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import com.alquiler.dto.ItemDto;
import com.alquiler.entities.Cancha;
import com.alquiler.implementation.GenericDaoImpl;



public class CanchaDao  extends GenericDaoImpl<Cancha, Integer, ItemDto>{
	
	public CanchaDao(EntityManager entityManager) {
		super(entityManager);		
	}
	
	
	 public Cancha findByNombre(String nombreCancha) {
		 
		 try {			
				Query query  = entityManager.createQuery("FROM "+ Cancha.class.getCanonicalName()+" c "
						+ "WHERE c.nombre = :nombreCancha ");
				 
				query.setParameter("nombreCancha", nombreCancha);
			
				Cancha result = (Cancha) query.getSingleResult()  ;
			
				return result;
				
			} catch (Exception e) {
				
				return null;
			}
	 }
	 
	 public List<ItemDto> getCanchasBySede(Integer idSede){
			
			try {			
				Query query  =  entityManager.createQuery("Select new "+ ItemDto.class.getCanonicalName() 
						 +" (idCancha, nombre) FROM " + Cancha.class.getCanonicalName()+" c where c.sede.idSede = :idSede");
				 
				query.setParameter("idSede",idSede);		
				List<ItemDto> resultList = query.getResultList();
				return resultList; 
			} catch (Exception e) {
				e.printStackTrace();
				return null;
			}
			
		}

}
